/**
 * Util.js
 */

// date原型链对象添加format方法，用于format日期格式
Date.prototype.Format = function (fmt) {
    var o = {
        'M+': this.getMonth() + 1, // 月份
        'd+': this.getDate(), // 日
        'h+': this.getHours(), // 小时
        'm+': this.getMinutes(), // 分
        's+': this.getSeconds(), // 秒
        'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
        'S': this.getMilliseconds() // 毫秒
    }

    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    for (var k in o) {
        if (new RegExp('(' + k + ')').test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
        }
    }

    return fmt
}

// Date对象Transfer对象，将时间戳转换成日期对象
Date.Transfer = function (timeSpan) {
    if (!timeSpan) {
        return new FormatDateNullValue()
    }

    return new Date(timeSpan)
}

// 创建对象用于date为null值的format
function FormatDateNullValue() { }

FormatDateNullValue.prototype.Format = function (date, value) {
    if (value) return value
    return '无'
}
